A widget is a small application (software component) that runs in the context of (i.e., is hosted by) another program. Since widgets are generally hosted by dedicated widget engines, it is often difficult to integrate widgets into other programs.